package com.test.service;

import com.test.entities.User;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;


@FeignClient(value = "USERSERVICE",path = "user")
public interface UserService {

    //不管是什么请求，如果传递的是单个参数，可以直接传递，也可以添加@RequestParam注解

    //Post传递对象，后台使用@RequestBody接受
    @PostMapping
    public String add(User u);

    //Post传递多个参数，调用端要加上@RequestParam注解
    @PostMapping("add")
    public String add(@RequestParam("name") String name, @RequestParam("age") Integer age);

    //URL传递，后台正常接受
    @DeleteMapping("/{id}")
    public String delete(@PathVariable("id") Integer uid);

    //Put请求传递对象，后台需要使用@RequestBody注解
    @PutMapping
    public String update(User u);

    //Get传递多个参数，调用端要加上@RequestParam注解
    @GetMapping
    public List<User> list(@RequestParam("name") String name, @RequestParam("age") Integer age);

    //Get请求传递对象，目前解决不了
    @GetMapping("list")
    public List<User> list2(User u);

}
